# 字典
d1 = {'name': 'jason', 'age': 20, 'gender': 'male'}
d2 = dict({'name': 'jason', 'age': 20, 'gender': 'male'})
d3 = dict([('name', 'jason'), ('age', 20), ('gender', 'male')])
d4 = dict(name='jason', age=20, gender='male') 
print("d1 == d2 == d3 ==d4 : ",d1 == d2 == d3 ==d4)
print("d1['name'] : ",d1['name']) # 字典访问可以直接索引键，如果不存在，就会抛出异常
print("d1.get('name_1') : ",d1.get('name_1')) # 也可以使用get(key, default)函数来进行索引
print("d1.get('name_1','null') : ",d1.get('name_1','null')) # 也可以使用get(key, default)函数来进行索引
# 字典元素的增加、删除、更新操作
d = {'name': 'jason', 'age': 20}
d['gender'] = 'male' # 增加元素对'gender': 'male'
d['dob'] = '1999-02-01' # 增加元素对'dob': '1999-02-01'
print("增加完元素的字典：",d)
d.pop('dob')
print("删除完元素的字典：",d)
d['name'] = 'tomy'
print("更新name元素后的字典：",d)
# 字典排序
d4sort = {'b': 1, 'a': 2, 'c': 10}
d_sorted_by_key = sorted(d4sort.items(),key = lambda x : x[0]) # 根据字典键的升序排序
d_sorted_by_value = sorted(d4sort.items(), key=lambda x: x[1]) # 根据字典值的升序排序
print("按照字典的key排序后",d_sorted_by_key)
print("按照字典的key排序后",d_sorted_by_value)

# 集合
s1 = {1, 2, 3}
s2 = set([1, 2, 3])
print("s1 == s2 :",s1 == s2)
# 集合的新增、删除、更新操作
s = {1, 2, 3}
print("判断元素是否在集合内：", 1 in s)
print("打印集合：",s)
print("集合长度：",len(s))
s.add(4) # 集合新增元素4
print("新增元素后打印集合：",s)
s.remove(4) #删除元素4
print("删除元素后打印集合：",s)